A conversion of an image format may result in a restriction in the gradation of expressions of grayscale and/or color component intensity. FIG. 1 is a top-level block diagram of a process 100 where a digital image 110 comprised of pixels having tone levels, {P′}, is provided to a processor 120 configured to execute instructions that quantize the intensity level of each pixel of the digital image, resulting in the possibility of a tone error, i.e., the difference between the provided pixel tone intensity and the quantized tone intensity, for each quantized pixel. In addition to the tone quantization, the processor may allocate the resulting quantized tone error to the tone level of image pixels not yet quantized. The result is a quantized digital image 130 having tone values, {V}, as affected by the input tone levels, the quantization levels and logic, and the allocation of tone error. The tone levels of pixels of a digital image may be expressed in a matrix of rows and columns. A scan line may be defined as a row or column of pixels scanned serially for tone quantization. When a horizontal scanning direction is employed, the horizontal scanning direction may be from right to left or alternate scanning direction between lines. FIG. 2A illustrates an example of right-to-left scanning of a digital image. FIG. 2B illustrates an example of left-to-right scanning of a digital image. FIG. 2C illustrates an example of alternating right-to-left and left-to-right scanning of a digital image. Image dithering may be used to distribute the resulting pixel tone quantization error. Methods such as Floyd-Steinberg dithering achieve image dithering by diffusing the quantization error of a pixel to yet-unscanned neighboring pixels according to a weighted apportionment. The Floyd-Steinberg method typically quantizes the pixels of an image by scanning the image from left-to-right, and top-to-bottom. FIG. 3 shows a portion of an image matrix 300, a three-by-three set of cells or pixels, and an example of a right-to-left scan 310 where the tone value of a pixel, P, is being quantized, and portions 321-324 of the resulting tone quantization error are distributed to the yet-unscanned, i.e., yet-to-be-quantized, nearest neighbors 331-334 of the pixel, P. That is, each quantization cycle of a pixel in a right-to-left scan includes pushing portions of the quantization error to the neighboring pixel on the right and the three nearest neighbors in the next scan line.
FIG. 4 shows a process where a pixel tone value may be defined by its row and column location as Pi,j, and conceptually may be comprised of a quantized tone value, Vi,j, and the tone error, Ei,j, that is, the difference between the original one level and the quantized tone level. So conceptually, Pi,j=Vi,j+Ei,j. Based on a determined quantization threshold, Vi,j can be established for Pi,j, as its representation in the quantized tone image. In turn, Ei,j is established, i.e., Ei,j is assigned the difference between Pi,j and Vi,j, or Ei,j←(Pi,j−Vi,j), and error diffusion (E.D.) may be effected by the value of Ei,j being apportioned according to a weighting scheme to the yet-to-be-quantized nearest neighbors of Pi,j. Accordingly, the tone error diffusion of Pi,j may be propagated as follows: (a) Pi,j+1←(Pi,j+1−w1*Ei,j); (b) Pi+1,j−1←(Pi+1,j−1−w2*Ei,j); (c) Pi+1,j←(Pi+1,j−w3*Ei,j); and (d) Pi+1,j+1←(Pi+1,j+1−w4*Ei,j). The Floyd-Steinberg method typically has the values of the weights normalized according to: w1= 7/16, w2= 3/16, w3= 5/16, and w4= 1/16.
If halftones are used to express the tone quantized image, the quantized tones for any pixel may be expressed via cells of a matrix, e.g., a two-by-two matrix, each cell having at least a monotone pigment level. The pigmentation of a cell is achieved via the application of a dot of pigment which may bleed into the adjacent cells or may be insufficient to fully pigment a designated cell. By measuring dot intensity of various levels of pixel quantization, a gamma correction vector, may be used to adjust the tone density of half-toned images.